1. Field of the Invention
This invention relates generally to a semiconductor memory device, and, more specifically, to programming redundancy in memory devices.
2. Description of the Related Art
Modern integrated circuit devices are comprised of millions of semiconductor devices, e.g., transistors, formed above a semiconductor substrate, such as silicon. These devices are very densely packed, i.e., there is little space between them. Similarly densely packed electrically conducting lines may also be formed in the semiconductor substrate. By forming selected electrical connections between selected semiconductor devices and selected conducting lines, circuits capable of performing complex functions may be created. For example, bits of data may be stored by providing electrical current to a plurality of bit lines and an orthogonal plurality of word lines that may be electrically coupled to one or more capacitors in a semiconductor memory.
The semiconductor memory may be a dynamic random access memory, a flash memory, and the like. The semiconductor memory typically comprises an array of memory cells, address decoding circuitry for selecting one, or a group, of the memory cells for reading or writing data, sensing circuitry for detecting the digital state of the selected memory cell or memory cells, and input/output lines to receive the sensed data and convey that information for eventual output from the semiconductor memory. In many cases, the array of memory cells will be sub-divided into several sub-arrays, or subsets, of the complete collection of memory cells. For example, a semiconductor memory having 16 megabits (224 bits) of storage capacity may be divided into 64 sub-arrays, each having 256K (218) memory cells.
When manufacturing memory devices, several testing and quality control procedures are performed to insure that a minimum standard of quality of the memory product is present upon completion of manufacturing. Generally, manufacturers are not capable of producing memory devices that are completely defect free or failure free. In order to achieve a predetermined yield, an ability to perform testing, which includes programming in or, programming out various elements of a memory device, is desirable. For example, faulty elements in memory devices may be programmed “out” and other redundant elements may be programmed “in” during the manufacturing of a memory device. This practice of redundancy may be used to reduce the amount of faults in a memory device.
Generally, state of the art, technology calls for implementing two types of redundancy corrections; fuse based programming and anti-fuse based programming. In the state of the art, some manufacturers employ a laser programmable fuse where a metal or a polysilicon link is used. Generally, a laser may be driven within a specific location to eradicate a location in memory; thereby implementing the blowing of a fuse using laser energy. This process forms a discontinuity in the conductor associated with that particular memory element. Subsequently, a sense circuitry may be able to sense an open circuit versus a conductive path, which provides the testing device 310 with an indication that a particular memory element has been eliminated. Thus, the faulty element is eliminated from the memory device.
State of the art memory programming methods may also include providing a large amount of current to blow a fuse causing a discontinuity; thereby eliminating a particular element from the memory device. Among the problems associated with implementing such redundancy programming may include the fact that a laser implementation requires a line of sight to invoke the laser energy; thereby the time that the redundancy programming may take place is limited. If a memory device is packaged then the laser implementation would not be possible. Additionally, in the large current method, large amounts of currents are required to provide controlled blowing of fuses, which may cause inefficiencies during manufacturing.
Manufacturers have also implemented anti-fuse programming of memory, where a connection to an element in the memory device is enabled by causing an existing open circuit to become electrically short. Many times, a pulsing current may be sent to an open circuit to actually cause a particular memory element to short, thereby invoking conduction through that particular element and programming it. In order to sense the result of this programming event, a high resistance and a low resistance detection is performed in order to determine whether a particular element in the memory device has been programmed. The anti-fuse method may also result in various inefficiencies in the manufacturing or memory devices, including problems created by the current pulse, and inefficiencies in detecting the programming.
The present invention is directed to overcoming, or at least reducing, the effects of, one or more of the problems set forth above.